home *** CD-ROM | disk | FTP | other *** search
/ Chip 2002 June / Chip_2002-06_cd1.bin / zkuste / delphi / kolekce / d6 / rxlibsetup.exe / {app} / units / STRLEDIT.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  2002-02-19  |  2.6 KB  |  96 lines

  1. {*******************************************************}
  2. {                                                       }
  3. {         Delphi VCL Extensions (RX)                    }
  4. {                                                       }
  5. {         Copyright (c) 2001,2002 SGB Software          }
  6. {         Copyright (c) 1997, 1998 Fedor Koshevnikov,   }
  7. {                        Igor Pavluk and Serge Korolev  }
  8. {                                                       }
  9. {*******************************************************}
  10.  
  11. unit StrLEdit;
  12.  
  13. {$I RX.INC}
  14.  
  15. interface
  16.  
  17. uses {$IFDEF WIN32} Windows, {$ELSE} WinTypes, WinProcs, {$ENDIF} Classes, 
  18.   Graphics, Forms, Controls, Buttons, Dialogs, RTLConsts, DesignIntf, DesignEditors, VCLEditors, StdCtrls, ExtCtrls;
  19.  
  20. type
  21.   TStrEditDlg = class(TForm)
  22.     Memo: TMemo;
  23.     LineCount: TLabel;
  24.     OpenDialog: TOpenDialog;
  25.     SaveDialog: TSaveDialog;
  26.     OKBtn: TButton;
  27.     CancelBtn: TButton;
  28.     HelpBtn: TButton;
  29.     LoadBtn: TButton;
  30.     SaveBtn: TButton;
  31.     procedure FileOpen(Sender: TObject);
  32.     procedure FileSave(Sender: TObject);
  33.     procedure UpdateStatus(Sender: TObject);
  34.     procedure FormCreate(Sender: TObject);
  35.     procedure MemoKeyDown(Sender: TObject; var Key: Word;
  36.       Shift: TShiftState);
  37.     procedure HelpBtnClick(Sender: TObject);
  38.   private
  39.     SingleLine: string[15];
  40.     MultipleLines: string[15];
  41.   end;
  42.  
  43. implementation
  44.  
  45. {$R *.DFM}
  46.  
  47. uses SysUtils, LibHelp;
  48.  
  49. { TStrListEditDlg }
  50.  
  51. procedure TStrEditDlg.FileOpen(Sender: TObject);
  52. begin
  53.   with OpenDialog do
  54.     if Execute then Memo.Lines.LoadFromFile(FileName);
  55. end;
  56.  
  57. procedure TStrEditDlg.FileSave(Sender: TObject);
  58. begin
  59.   SaveDialog.FileName := OpenDialog.FileName;
  60.   with SaveDialog do
  61.     if Execute then Memo.Lines.SaveToFile(FileName);
  62. end;
  63.  
  64. procedure TStrEditDlg.UpdateStatus(Sender: TObject);
  65. var
  66.   Count: Integer;
  67. begin
  68.   Count := Memo.Lines.Count;
  69.   if Count = 1 then
  70.     LineCount.Caption := Format('%d %s', [Count, SingleLine])
  71.   else
  72.     LineCount.Caption := Format('%d %s', [Count, MultipleLines]);
  73. end;
  74.  
  75. procedure TStrEditDlg.FormCreate(Sender: TObject);
  76. begin
  77.   HelpContext := hcDStringListEditor;
  78.   OpenDialog.HelpContext := hcDStringListLoad;
  79.   SaveDialog.HelpContext := hcDStringListSave;
  80.   SingleLine := 'Line';
  81.   MultipleLines := 'Lines';
  82. end;
  83.  
  84. procedure TStrEditDlg.MemoKeyDown(Sender: TObject; var Key: Word;
  85.   Shift: TShiftState);
  86. begin
  87.   if Key = VK_ESCAPE then CancelBtn.Click;
  88. end;
  89.  
  90. procedure TStrEditDlg.HelpBtnClick(Sender: TObject);
  91. begin
  92.   Application.HelpContext(HelpContext);
  93. end;
  94.  
  95. end.
  96.